<script>
    // 发送订阅消息

            /*
                一、接口说明

                            1、接口英文名

                                    sendMessage

                            2、功能描述

                                    该接口用于发送订阅消息。
            */

           /*
                二、调用方式

                            1、HTTPS调用

                                        POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN 
                                    
                            2、云调用

                                        出入参和HTTPS调用相同，调用方式可查看云调用说明文档

                                        接口方法为: openapi.subscribeMessage.send

                            3、第三方调用

                                        调用方式以及出入参和HTTPS相同，仅是调用的token不同

                                        该接口所属的权限集id为：18

                                        服务商获得其中之一权限集授权后，可通过使用authorizer_access_token代商家进行调用

                            4、请求参数

                                        	  属性	          类型	    必填	    说明

                                        ①、access_token	    string	    是	    接口调用凭证，该参数为 URL 参数，非 Body 参数。
                                                                                使用getAccessToken 或者 authorizer_access_token

                                        ②、template_id	    string	    是	    所需下发的订阅模板id

                                        ③、page	            string	    否	    点击模板卡片后的跳转页面，仅限本小程序内的页面。
                                                                                支持带参数,（示例index?foo=bar）。该字段不填则模板无跳转

                                        ④、touser	        string	    是	    接收者（用户）的 openid

                                        ⑤、data             object      是      模板内容，格式形如： 
                                                                                { "phrase3": { "value": "审核通过" }, "name1": { "value": "订阅" }, "date2": { "value": "2019-12-25 09:42" } }

                                                              	属性	            类型	        必填	            说明

                                                        ①、miniprogram_satte       string           是             跳转小程类型： developer为开发版； 
                                                                                                                                trail 为体验版；
                                                                                                                                formal为正式版；
                                                                                                                                默认为正式版

                                                        ②、lang                    string           是             进入小程序查看的语言类型，支持
                                                                                                                        zh_CN(简体中文)、
                                                                                                                        en_US(英文)、
                                                                                                                        zh_HK(繁体中文)、
                                                                                                                        zh_TW(繁体中文)，
                                                                                                                    默认为zh_CN

                            5、返回参数

                                            属性	            类型	            说明

                                        ①、errcode	            number	            错误码

                                        ②、errmsg	            string	            错误信息
           */

           /*
                三、其他说明

                            1、订阅消息参数值内容限制说明


                                            参数类别	                参数说明	      数值限制	                                        说明

                                        ①、thing.DATA                   事物            20个以内字符                                        可汉字、数字、字母或符号组合

                                        ②、number.DATA	                数字	        32位以内数字	                                    只能数字，可带小数

                                        ③、letter.DATA	                字母	        32位以内字母	                                    只能字母

                                        ④、symbol.DATA	                符号	        5位以内符号	                                        只能符号

                                        ⑤、character_string.DATA	    字符串	        32位以内数字、字母或符号	                         可数字、字母或符号组合

                                        ⑥、time.DATA	                时间	        24小时制时间格式（支持+年月日），
                                                                                       支持填时间段，两个时间点之间用“~”符号连接	          例如：15:01，或：2019年10月1日 15:01

                                        ⑦、date.DATA	                日期	        年月日格式（支持+24小时制时间），
                                                                                       支持填时间段，两个时间点之间用“~”符号连接	          例如：2019年10月1日，或：2019年10月1日 15:01

                                        ⑧、amount.DATA	                金额	        1个币种符号+10位以内纯数字，可带小数，结尾可带“元”	   可带小数

                                        ⑨、phone_number.DATA	        电话	        17位以内，数字、符号	                             电话号码，例：+86-0766-66888866

                                        ⑩、car_number.DATA	            车牌	        8位以内，第一位与最后一位可为汉字，其余为字母或数字	    车牌号码：粤A8Z888挂

                                        ⑪、name.DATA	                姓名	        10个以内纯汉字或20个以内纯字母或符号	              中文名10个汉字内；纯英文名20个字母内；
                                                                                                                                           中文和字母混合按中文名算，10个字内

                                        ⑫、phrase.DATA	                汉字	        5个以内汉字	                                        5个以内纯汉字，例如：配送中

                                        ⑬、enum.DATA	                枚举值	        只能上传枚举值范围内的字段值	                      调用接口获取参考枚举值


                            符号表示除中文、英文、数字外的常见符号，不能带有换行等控制字符。

                             时间格式支持HH:MM:SS或者HH:MM。

                             日期包含年月日，为y年m月d日，y年m月、m月d日格式，或者用‘-’、‘/’、‘.’符号连接，如2018-01-01，2018/01/01，2018.01.01，2018-01，01-01。

                            
                           ★、每个 "模板参数" 都会以类型为前缀，例如第一个数字模板参数为 number01.DATA  , 第二个为 number02.DATA

                                
                               例如，模板的内容为：

                                                    姓名: {{name01.DATA}}
                                                    金额: {{amount01.DATA}}
                                                    行程: {{thing01.DATA}}
                                                    日期: {{date01.DATA}}

                                    则对应的json为：

                                                    {
                                                        "touser": "OPENID",
                                                        "template_id": "TEMPLATE_ID",
                                                        "page": "index",
                                                        "data": {
                                                            "name01": {
                                                                "value": "某某"
                                                            },
                                                            "amount01": {
                                                                "value": "￥100"
                                                            },
                                                            "thing01": {
                                                                "value": "广州至北京"
                                                            } ,
                                                            "date01": {
                                                                "value": "2018-01-01"
                                                            }
                                                        }
                                                    }
           */

           /*
                 四、调用示例

                            1、请求数据示例

                                      {
                                            "touser": "OPENID",
                                            "template_id": "TEMPLATE_ID",
                                            "page": "index",
                                            "miniprogram_state":"developer",
                                            "lang":"zh_CN",
                                            "data":{
                                                    "phrase3": {
                                                        "value": "审核通过"
                                                    },
                                                    "name1": {
                                                        "value": "订阅"
                                                    },
                                                    "date2": {
                                                        "value": "2019-12-25 09:42"
                                                    }
                                            }
                                        }  

                                        返回数据示例：

                                            {
                                                "errcode":0,
                                                "errmsg":"ok"
                                            }


                            2、请求数据示例（云开发）

                                        const cloud = require('wx-server-sdk')
                                        cloud.init({
                                            env: cloud.DYNAMIC_CURRENT_ENV,
                                        })
                                        exports.main = async (event, context) => {
                                            try {
                                                const result = await cloud.openapi.subscribeMessage.send({
                                                    "touser": 'OPENID',
                                                    "page": 'index',
                                                    "lang": 'zh_CN',
                                                    "data": {
                                                    "number01": {
                                                        "value": '339208499'
                                                    },
                                                    "date01": {
                                                        "value": '2015年01月05日'
                                                    },
                                                    "site01": {
                                                        "value": 'TIT创意园'
                                                    },
                                                    "site02": {
                                                        "value": '广州市新港中路397号'
                                                    }
                                                    },
                                                    "templateId": 'TEMPLATE_ID',
                                                    "miniprogramState": 'developer'
                                                })
                                                return result
                                            } catch (err) {
                                                return err
                                            }
                                        }

                                        返回数据示例：

                                                {
                                                    "errcode":0,
                                                    "errmsg":"ok"
                                                }

                            3、错误码

                                     （页面最底部）
                                     https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/subscribe-message/sendMessage.html   
           */
</script>